会员活动新增字段

FFIB 2 ans auparavant
Parent
Commettre
621aed80ce

+ 0 - 186
api/admin_views.py

@@ -768,192 +768,6 @@ def record_warehouse(request, administrator):
768 768
 
769 769
 
770 770
 @check_admin
771
-def member_activity_list(request, administrator):
772
-    activity_type = request.POST.get('activity_type', '')
773
-    title = request.POST.get('title', '')
774
-    start_time = request.POST.get('start_time', '')
775
-    end_time = request.POST.get('end_time', '')
776
-    page = request.POST.get('page', 1)
777
-    num = request.POST.get('num', 20)
778
-    activity_state = request.POST.get('activity_state', '')
779
-    activity_section = request.POST.get('activity_section', '')
780
-
781
-    logs = MemberActivityInfo.objects.filter(status=True)
782
-
783
-    if activity_type:
784
-        logs = logs.filter(activity_type=activity_type)
785
-
786
-    if activity_section:
787
-        logs = logs.filter(activity_section=activity_section)
788
-
789
-    if activity_state:
790
-        logs = logs.filter(activity_state=activity_state)
791
-
792
-    if title:
793
-        logs = logs.filter(title__icontains=title)
794
-
795
-    if start_time and end_time:
796
-        start_time = datetime.strptime(start_time, '%Y%m%d')
797
-        end_time = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S')
798
-        logs = logs.filter(created_at__range=(start_time, end_time))
799
-
800
-    logs = logs.order_by('-pk')
801
-
802
-    count = logs.count()
803
-    logs, left = pagination(logs, page, num)
804
-    logs = [log.admindata for log in logs]
805
-
806
-    return response(200, 'Get Member Activity Record Success', u'获取会员活动成功', data={
807
-        'logs': logs,
808
-        'left': left,
809
-        'count': count
810
-    })
811
-
812
-
813
-@check_admin
814
-def member_activity_detail(request, administrator):
815
-    activity_id = request.POST.get('activity_id', '')
816
-
817
-    try:
818
-        log = MemberActivityInfo.objects.get(activity_id=activity_id)
819
-    except MemberActivityInfo.DoesNotExist:
820
-        return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
821
-
822
-    return response(200, 'Get Member Activity Record Details Success', u'获取会员活动详情成功', data={
823
-        'log': log.admindetails,
824
-    })
825
-
826
-
827
-@check_admin
828
-def member_activity_update(request, administrator):
829
-    activity_id = request.POST.get('activity_id', '')
830
-    activity_type = int(request.POST.get('activity_type', 0))
831
-    activity_section = int(request.POST.get('activity_section', 3))
832
-    title = request.POST.get('title', '')
833
-    subtitle = request.POST.get('subtitle', '')
834
-    start_date = tc.to_date(request.POST.get('start_date', '') or settings.DEFAULT_START_DATE)
835
-    end_date = date = tc.to_date(request.POST.get('end_date', '') or settings.DEFAULT_END_DATE)
836
-    start_display_date = tc.to_date(request.POST.get('start_display_date', '') or settings.DEFAULT_START_DATE)
837
-    end_display_date = tc.to_date(request.POST.get('end_display_date', '') or settings.DEFAULT_END_DATE)
838
-    city = request.POST.get('city', '')
839
-    location = request.POST.get('location', '')
840
-    integral = int(request.POST.get('integral', 0))
841
-    is_slider = request.POST.get('is_slider', 0)
842
-    slider_image_path = request.POST.get('slider_image_path', '')
843
-    cover_path = request.POST.get('cover_path', '')
844
-    detail_image_path = request.POST.get('detail_image_path', '')
845
-    limit_image_num = int(request.POST.get('limit_image_num', 3))
846
-    is_signup = request.POST.get('is_signup', 0)
847
-    group_share_max_integral = int(request.POST.get('share_max_integral', 0))
848
-    group_share_integral = int(request.POST.get('share_integral', 0))
849
-    content_rich_text = request.POST.get('content_rich_text', '')
850
-    share_h5_link = request.POST.get('share_h5_link', '')
851
-    activity_state = int(request.POST.get('activity_state', 0))
852
-    poster_kv_img_url = request.POST.get('poster_kv_img_url', '')
853
-    poster_content = request.POST.get('poster_content', '')
854
-    contribution_content_placeholder = request.POST.get('contribution_content_placeholder', '')
855
-
856
-    try:
857
-        log = MemberActivityInfo.objects.get(activity_id=activity_id, status=True)
858
-    except MemberActivityInfo.DoesNotExist:
859
-        return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
860
-
861
-    log.activity_type = activity_type
862
-    log.activity_section = activity_section
863
-    log.title = title
864
-    log.subtitle = subtitle
865
-    log.date = date
866
-    log.start_date = start_date
867
-    log.end_date = end_date
868
-    log.start_display_date = start_display_date
869
-    log.end_display_date = end_display_date
870
-    log.city = city
871
-    log.location = location
872
-    log.integral = integral
873
-    log.is_slider = is_slider
874
-    log.slider_image = slider_image_path
875
-    log.cover = cover_path
876
-    log.image = detail_image_path
877
-    log.limit_image_num = limit_image_num
878
-    log.is_signup = is_signup
879
-    log.group_share_integral = group_share_integral
880
-    log.group_share_max_integral = group_share_max_integral
881
-    log.content_rich_text = content_rich_text
882
-    log.share_h5_link = share_h5_link
883
-    log.activity_state = activity_state
884
-    log.poster_kv_img_url = poster_kv_img_url
885
-    log.poster_content = poster_content
886
-    log.contribution_content_placeholder = contribution_content_placeholder
887
-    log.save()
888
-
889
-    return response(200, 'MemberActivityInfo Update Success', u'会员活动更新成功')
890
-
891
-
892
-@check_admin
893
-def member_activity_create(request, administrator):
894
-    activity_type = int(request.POST.get('activity_type', 0))
895
-    activity_section = int(request.POST.get('activity_section', 3))
896
-    title = request.POST.get('title', '')
897
-    subtitle = request.POST.get('subtitle', '')
898
-    start_date = tc.to_date(request.POST.get('start_date', '') or settings.DEFAULT_START_DATE)
899
-    end_date = date = tc.to_date(request.POST.get('end_date', '') or settings.DEFAULT_END_DATE)
900
-    start_display_date = tc.to_date(request.POST.get('start_display_date', '') or settings.DEFAULT_START_DATE)
901
-    end_display_date = tc.to_date(request.POST.get('end_display_date', '') or settings.DEFAULT_END_DATE)
902
-    city = request.POST.get('city', '')
903
-    location = request.POST.get('location', '')
904
-    integral = int(request.POST.get('integral', 0))
905
-    is_slider = request.POST.get('is_slider', 0)
906
-    slider_image_path = request.POST.get('slider_image_path', '')
907
-    cover_path = request.POST.get('cover_path', '')
908
-    detail_image_path = request.POST.get('detail_image_path', '')
909
-    limit_image_num = int(request.POST.get('limit_image_num', 3))
910
-    is_signup = request.POST.get('is_signup', 0)
911
-    group_share_max_integral = int(request.POST.get('share_max_integral', 0))
912
-    group_share_integral = int(request.POST.get('share_integral', 0))
913
-    content_rich_text = request.POST.get('content_rich_text', '')
914
-    share_h5_link = request.POST.get('share_h5_link', '')
915
-    activity_state = int(request.POST.get('activity_state', 0))
916
-    poster_kv_img_url = request.POST.get('poster_kv_img_url', '')
917
-    poster_content = request.POST.get('poster_content', '')
918
-    contribution_content_placeholder = request.POST.get('contribution_content_placeholder', '')
919
-
920
-    act = MemberActivityInfo.objects.create(
921
-        brand_id=administrator.brand_id,
922
-        activity_type=activity_type,
923
-        activity_section=activity_section,
924
-        title=title,
925
-        subtitle=subtitle,
926
-        date=date,
927
-        start_date=start_date,
928
-        end_date=end_date,
929
-        start_display_date=start_display_date,
930
-        end_display_date=end_display_date,
931
-        city=city,
932
-        location=location,
933
-        integral=integral,
934
-        is_slider=is_slider,
935
-        slider_image=slider_image_path,
936
-        cover=cover_path,
937
-        image=detail_image_path,
938
-        limit_image_num=limit_image_num,
939
-        is_signup=is_signup,
940
-        group_share_max_integral=group_share_max_integral,
941
-        group_share_integral=group_share_integral,
942
-        content_rich_text=content_rich_text,
943
-        share_h5_link=share_h5_link,
944
-        activity_state=activity_state,
945
-        poster_kv_img_url=poster_kv_img_url,
946
-        poster_content=poster_content,
947
-        contribution_content_placeholder=contribution_content_placeholder,
948
-        is_upload_qiniu=True,
949
-    )
950
-
951
-    return response(200, 'MemberActivityInfo Create Success', u'会员活动创建成功', data={
952
-        'activity': act.admindetails
953
-    })
954
-
955
-
956
-@check_admin
957 771
 def member_activity_share_list(request, administrator):
958 772
     activity_id = request.POST.get('activity_id', '')
959 773
     page = int(request.POST.get('page', 1))

+ 0 - 4
api/urls.py

@@ -169,10 +169,6 @@ urlpatterns += [
169 169
     url(r'^admin/member/goods/order/update$', admin_views.member_goods_order_update, name='member_goods_order_update'),
170 170
     url(r'^admin/member/goods/order/batch/update$', admin_views.member_goods_order_batch_update, name='member_goods_order_batch_update'),
171 171
 
172
-    url(r'^admin/member/activity/list$', admin_views.member_activity_list, name='member_activity_list'),
173
-    url(r'^admin/member/activity/details$', admin_views.member_activity_detail, name='member_activity_detail'),
174
-    url(r'^admin/member/activity/update$', admin_views.member_activity_update, name='member_activity_update'),
175
-    url(r'^admin/member/activity/create$', admin_views.member_activity_create, name='member_activity_create'),
176 172
     url(r'^admin/member/activity/share/list$', admin_views.member_activity_share_list, name='member_activity_share_list'),
177 173
     url(r'^admin/member/activity/register/list$', admin_views.member_activity_register_list, name='member_activity_register_list'),
178 174
 

+ 216 - 0
member/activity_admin_views.py

@@ -0,0 +1,216 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.conf import settings
4
+from django_logit import logit
5
+from django_response import response
6
+from paginator import pagination
7
+
8
+from member.models import MemberActivityInfo
9
+from kodo.decorators import check_admin
10
+from utils.error.errno_utils import MemberActivityStatusCode
11
+
12
+
13
+@check_admin
14
+def activity_list(request, administrator):
15
+    activity_type = request.POST.get('activity_type', '')
16
+    title = request.POST.get('title', '')
17
+    start_time = request.POST.get('start_time', '')
18
+    end_time = request.POST.get('end_time', '')
19
+    page = request.POST.get('page', 1)
20
+    num = request.POST.get('num', 20)
21
+    activity_state = request.POST.get('activity_state', '')
22
+    activity_section = request.POST.get('activity_section', '')
23
+    is_series = request.POST.get('is_series', '')
24
+
25
+    logs = MemberActivityInfo.objects.filter(status=True)
26
+
27
+    if is_series:
28
+        logs = logs.filter(is_series=True)
29
+
30
+    if activity_type:
31
+        logs = logs.filter(activity_type=activity_type)
32
+
33
+    if activity_section:
34
+        logs = logs.filter(activity_section=activity_section)
35
+
36
+    if activity_state:
37
+        logs = logs.filter(activity_state=activity_state)
38
+
39
+    if title:
40
+        logs = logs.filter(title__icontains=title)
41
+
42
+    if start_time and end_time:
43
+        start_time = datetime.strptime(start_time, '%Y%m%d')
44
+        end_time = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S')
45
+        logs = logs.filter(created_at__range=(start_time, end_time))
46
+
47
+    logs = logs.order_by('-pk')
48
+
49
+    count = logs.count()
50
+    logs, left = pagination(logs, page, num)
51
+    logs = [log.admindata for log in logs]
52
+
53
+    return response(200, 'Get Member Activity Record Success', u'获取会员活动成功', data={
54
+        'logs': logs,
55
+        'left': left,
56
+        'count': count
57
+    })
58
+
59
+
60
+@check_admin
61
+def activity_detail(request, administrator):
62
+    activity_id = request.POST.get('activity_id', '')
63
+
64
+    try:
65
+        log = MemberActivityInfo.objects.get(activity_id=activity_id)
66
+    except MemberActivityInfo.DoesNotExist:
67
+        return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
68
+
69
+    return response(200, 'Get Member Activity Record Details Success', u'获取会员活动详情成功', data={
70
+        'log': log.admindetails,
71
+    })
72
+
73
+
74
+@check_admin
75
+def activity_update(request, administrator):
76
+    activity_id = request.POST.get('activity_id', '')
77
+    activity_type = int(request.POST.get('activity_type', 0))
78
+    activity_section = int(request.POST.get('activity_section', 3))
79
+    title = request.POST.get('title', '')
80
+    subtitle = request.POST.get('subtitle', '')
81
+    start_date = tc.to_date(request.POST.get('start_date', '') or settings.DEFAULT_START_DATE)
82
+    end_date = date = tc.to_date(request.POST.get('end_date', '') or settings.DEFAULT_END_DATE)
83
+    start_display_date = tc.to_date(request.POST.get('start_display_date', '') or settings.DEFAULT_START_DATE)
84
+    end_display_date = tc.to_date(request.POST.get('end_display_date', '') or settings.DEFAULT_END_DATE)
85
+    city = request.POST.get('city', '')
86
+    location = request.POST.get('location', '')
87
+    integral = int(request.POST.get('integral', 0))
88
+    is_slider = request.POST.get('is_slider', 0)
89
+    slider_image_path = request.POST.get('slider_image_path', '')
90
+    cover_path = request.POST.get('cover_path', '')
91
+    detail_image_path = request.POST.get('detail_image_path', '')
92
+    limit_image_num = int(request.POST.get('limit_image_num', 3))
93
+    is_signup = request.POST.get('is_signup', 0)
94
+    group_share_max_integral = int(request.POST.get('share_max_integral', 0))
95
+    group_share_integral = int(request.POST.get('share_integral', 0))
96
+    content_rich_text = request.POST.get('content_rich_text', '')
97
+    share_h5_link = request.POST.get('share_h5_link', '')
98
+    activity_state = int(request.POST.get('activity_state', 0))
99
+    poster_kv_img_url = request.POST.get('poster_kv_img_url', '')
100
+    poster_content = request.POST.get('poster_content', '')
101
+    contribution_content_placeholder = request.POST.get('contribution_content_placeholder', '')
102
+    fields = request.POST.get('fields', '')
103
+    is_series = request.POST.get('is_series', False)
104
+    main_activity_id = request.POST.get('main_activity_id', '')
105
+    limit_contribute_num = request.POST.get('limit_contribute_num', 1)
106
+
107
+    try:
108
+        log = MemberActivityInfo.objects.get(activity_id=activity_id, status=True)
109
+    except MemberActivityInfo.DoesNotExist:
110
+        return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
111
+
112
+    log.activity_type = activity_type
113
+    log.activity_section = activity_section
114
+    log.title = title
115
+    log.subtitle = subtitle
116
+    log.date = date
117
+    log.start_date = start_date
118
+    log.end_date = end_date
119
+    log.start_display_date = start_display_date
120
+    log.end_display_date = end_display_date
121
+    log.city = city
122
+    log.location = location
123
+    log.integral = integral
124
+    log.is_slider = is_slider
125
+    log.slider_image = slider_image_path
126
+    log.cover = cover_path
127
+    log.image = detail_image_path
128
+    log.limit_image_num = limit_image_num
129
+    log.is_signup = is_signup
130
+    log.group_share_integral = group_share_integral
131
+    log.group_share_max_integral = group_share_max_integral
132
+    log.content_rich_text = content_rich_text
133
+    log.share_h5_link = share_h5_link
134
+    log.activity_state = activity_state
135
+    log.poster_kv_img_url = poster_kv_img_url
136
+    log.poster_content = poster_content
137
+    log.contribution_content_placeholder = contribution_content_placeholder
138
+    log.fields = fields
139
+    log.is_series = is_series
140
+    log.main_activity_id = main_activity_id
141
+    log.limit_contribute_num = limit_contribute_num
142
+    log.save()
143
+
144
+    return response(200, 'MemberActivityInfo Update Success', u'会员活动更新成功')
145
+
146
+
147
+@check_admin
148
+def activity_create(request, administrator):
149
+    activity_type = int(request.POST.get('activity_type', 0))
150
+    activity_section = int(request.POST.get('activity_section', 3))
151
+    title = request.POST.get('title', '')
152
+    subtitle = request.POST.get('subtitle', '')
153
+    start_date = tc.to_date(request.POST.get('start_date', '') or settings.DEFAULT_START_DATE)
154
+    end_date = date = tc.to_date(request.POST.get('end_date', '') or settings.DEFAULT_END_DATE)
155
+    start_display_date = tc.to_date(request.POST.get('start_display_date', '') or settings.DEFAULT_START_DATE)
156
+    end_display_date = tc.to_date(request.POST.get('end_display_date', '') or settings.DEFAULT_END_DATE)
157
+    city = request.POST.get('city', '')
158
+    location = request.POST.get('location', '')
159
+    integral = int(request.POST.get('integral', 0))
160
+    is_slider = request.POST.get('is_slider', 0)
161
+    slider_image_path = request.POST.get('slider_image_path', '')
162
+    cover_path = request.POST.get('cover_path', '')
163
+    detail_image_path = request.POST.get('detail_image_path', '')
164
+    limit_image_num = int(request.POST.get('limit_image_num', 3))
165
+    is_signup = request.POST.get('is_signup', 0)
166
+    group_share_max_integral = int(request.POST.get('share_max_integral', 0))
167
+    group_share_integral = int(request.POST.get('share_integral', 0))
168
+    content_rich_text = request.POST.get('content_rich_text', '')
169
+    share_h5_link = request.POST.get('share_h5_link', '')
170
+    activity_state = int(request.POST.get('activity_state', 0))
171
+    poster_kv_img_url = request.POST.get('poster_kv_img_url', '')
172
+    poster_content = request.POST.get('poster_content', '')
173
+    contribution_content_placeholder = request.POST.get('contribution_content_placeholder', '')
174
+    fields = request.POST.get('fields', '')
175
+    is_series = request.POST.get('is_series', False)
176
+    main_activity_id = request.POST.get('main_activity_id', '')
177
+    limit_contribute_num = request.POST.get('limit_contribute_num', 1)
178
+
179
+    act = MemberActivityInfo.objects.create(
180
+        brand_id=administrator.brand_id,
181
+        activity_type=activity_type,
182
+        activity_section=activity_section,
183
+        title=title,
184
+        subtitle=subtitle,
185
+        date=date,
186
+        start_date=start_date,
187
+        end_date=end_date,
188
+        start_display_date=start_display_date,
189
+        end_display_date=end_display_date,
190
+        city=city,
191
+        location=location,
192
+        integral=integral,
193
+        is_slider=is_slider,
194
+        slider_image=slider_image_path,
195
+        cover=cover_path,
196
+        image=detail_image_path,
197
+        limit_image_num=limit_image_num,
198
+        is_signup=is_signup,
199
+        group_share_max_integral=group_share_max_integral,
200
+        group_share_integral=group_share_integral,
201
+        content_rich_text=content_rich_text,
202
+        share_h5_link=share_h5_link,
203
+        activity_state=activity_state,
204
+        poster_kv_img_url=poster_kv_img_url,
205
+        poster_content=poster_content,
206
+        contribution_content_placeholder=contribution_content_placeholder,
207
+        is_upload_qiniu=True,
208
+        fields=fields,
209
+        is_series=is_series,
210
+        main_activity_id=main_activity_id,
211
+        limit_contribute_num=limit_contribute_num,
212
+    )
213
+
214
+    return response(200, 'MemberActivityInfo Create Success', u'会员活动创建成功', data={
215
+        'activity': act.admindetails
216
+    })

+ 13 - 0
member/admin_urls.py

@@ -0,0 +1,13 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.conf.urls import url
4
+
5
+from member import activity_admin_views
6
+
7
+# activity
8
+urlpatterns = [
9
+    url(r'^member/activity/list$', activity_admin_views.activity_list, name='admin_member_activity_list'),  # 获取会员活动列表
10
+    url(r'^member/activity/details$', activity_admin_views.activity_detail, name='admin_member_activity_detail'),  # 获取会员活动详情
11
+    url(r'^member/activity/create$', activity_admin_views.activity_create, name='admin_member_activity_create'),  # 获取会员活动详情
12
+    url(r'^member/activity/update$', activity_admin_views.activity_update, name='admin_member_activity_update'),  # 获取会员活动详情
13
+]

+ 36 - 0
member/migrations/0057_auto_20230506_1643.py

@@ -0,0 +1,36 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+# Generated by Django 3.2.6 on 2023-05-06 08:43
4
+
5
+from django.db import migrations, models
6
+import jsonfield.fields
7
+
8
+
9
+class Migration(migrations.Migration):
10
+
11
+    dependencies = [
12
+        ('member', '0056_memberactivityinfo_activity_section'),
13
+    ]
14
+
15
+    operations = [
16
+        migrations.AddField(
17
+            model_name='memberactivityinfo',
18
+            name='fields',
19
+            field=jsonfield.fields.JSONField(blank=True, help_text='报名字段', null=True, verbose_name='fields'),
20
+        ),
21
+        migrations.AddField(
22
+            model_name='memberactivityinfo',
23
+            name='is_series',
24
+            field=models.BooleanField(default=False, help_text='是否为系列活动', verbose_name='is_series'),
25
+        ),
26
+        migrations.AddField(
27
+            model_name='memberactivityinfo',
28
+            name='limit_contribute_num',
29
+            field=models.IntegerField(default=0, help_text='限制投稿次数', verbose_name='limit_contribute_num'),
30
+        ),
31
+        migrations.AddField(
32
+            model_name='memberactivityinfo',
33
+            name='main_activity_id',
34
+            field=models.CharField(blank=True, default='', help_text='系列活动主活动唯一标识', max_length=32, verbose_name='main_activity_id'),
35
+        ),
36
+    ]

+ 26 - 0
member/migrations/0058_auto_20230506_1650.py

@@ -0,0 +1,26 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+# Generated by Django 3.2.6 on 2023-05-06 08:50
4
+
5
+from django.db import migrations, models
6
+import jsonfield.fields
7
+
8
+
9
+class Migration(migrations.Migration):
10
+
11
+    dependencies = [
12
+        ('member', '0057_auto_20230506_1643'),
13
+    ]
14
+
15
+    operations = [
16
+        migrations.AlterField(
17
+            model_name='memberactivityinfo',
18
+            name='fields',
19
+            field=jsonfield.fields.JSONField(blank=True, default='[]', help_text='报名字段', null=True, verbose_name='fields'),
20
+        ),
21
+        migrations.AlterField(
22
+            model_name='memberactivityinfo',
23
+            name='limit_contribute_num',
24
+            field=models.IntegerField(default=1, help_text='限制投稿次数', verbose_name='limit_contribute_num'),
25
+        ),
26
+    ]

+ 22 - 0
member/models.py

@@ -430,6 +430,12 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
430 430
 
431 431
     is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=u'是否已上传七牛')
432 432
 
433
+    fields = JSONField(_(u'fields'), blank=True, null=True, default='[]', help_text=u'报名字段')
434
+    is_series = models.BooleanField(_(u'is_series'), default=False, help_text=u'是否为系列活动')
435
+    main_activity_id = models.CharField(_(u'main_activity_id'), max_length=32, blank=True, default='', help_text=u'系列活动主活动唯一标识')
436
+
437
+    limit_contribute_num = models.IntegerField(_(u'limit_contribute_num'), default=1, help_text=u'限制投稿次数')
438
+
433 439
     class Meta:
434 440
         verbose_name = _(u'会员活动信息')
435 441
         verbose_name_plural = _(u'会员活动信息')
@@ -548,6 +554,10 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
548 554
             'poster_kv_img_url': self.post_kv_image_url,
549 555
             'poster_content': self.poster_content,
550 556
             'contribution_content_placeholder': self.contribution_content_placeholder,
557
+            'fields': json.loads(self.fields) if self.fields else '',
558
+            'main_activity_id': self.main_activity_id,
559
+            'limit_contribute_num': self.limit_contribute_num,
560
+            'is_series': self.is_series,
551 561
         }
552 562
 
553 563
     def details(self, user_id):
@@ -587,6 +597,10 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
587 597
             'poster_kv_img_url': self.final_poster_kv_img_url,
588 598
             'poster_content': self.poster_content,
589 599
             'contribution_content_placeholder': self.contribution_content_placeholder,
600
+            'fields': json.loads(self.fields) if self.fields else '',
601
+            'main_activity_id': self.main_activity_id,
602
+            'limit_contribute_num': self.limit_contribute_num,
603
+            'is_series': self.is_series,
590 604
         }
591 605
 
592 606
     @property
@@ -628,6 +642,10 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
628 642
             'poster_content': self.poster_content,
629 643
             'contribution_content_placeholder': self.contribution_content_placeholder,
630 644
             'welfares': self.welfares,
645
+            'fields': json.loads(self.fields) if self.fields else '',
646
+            'main_activity_id': self.main_activity_id,
647
+            'limit_contribute_num': self.limit_contribute_num,
648
+            'is_series': self.is_series,
631 649
         }
632 650
 
633 651
     @property
@@ -674,6 +692,10 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
674 692
             'poster_content': self.poster_content,
675 693
             'contribution_content_placeholder': self.contribution_content_placeholder,
676 694
             'welfares': self.welfares,
695
+            'fields': json.loads(self.fields) if self.fields else '',
696
+            'main_activity_id': self.main_activity_id,
697
+            'limit_contribute_num': self.limit_contribute_num,
698
+            'is_series': self.is_series,
677 699
         }
678 700
 
679 701
 

+ 1 - 1
member/mp_urls.py

@@ -8,5 +8,5 @@ from member import activity_mp_views
8 8
 urlpatterns = [
9 9
     url(r'^member/activity/home$', activity_mp_views.activity_home, name='mp_member_activity_home'),  # 获取会员活动首页
10 10
     url(r'^member/activity/list$', activity_mp_views.activity_list, name='mp_member_activity_list'),  # 获取会员分区活动列表
11
-    url(r'^member/activity/detail$', activity_mp_views.activity_detail, name='mp_member_activity_detail'),  # 获取会员分区活动列表
11
+    url(r'^member/activity/detail$', activity_mp_views.activity_detail, name='mp_member_activity_detail'),  # 获取会员分区活动详情
12 12
 ]

+ 1 - 0
member/urls.py

@@ -5,4 +5,5 @@ from django.conf.urls import include, url
5 5
 
6 6
 urlpatterns = [
7 7
     url(r'^mp/', include(('member.mp_urls', 'member'), namespace='mp_member')),
8
+    url(r'^admin/', include(('member.admin_urls', 'member'), namespace='admin_member')),
8 9
 ]